package com.itheima.reggie.utils;

import java.util.Random;

/**
 * 随机验证码生成工具类
 * @author GRS
 * @since 2024/4/26 下午10:23
 */
public class ValidateCodeUtils
{
    /**
     * 随机生成4位或6位数字验证码
     */
    public static String generateValidateCode(int length)
    {
        String code = null;

        if (length == 4)
        {
            // 生成随机数，最大为9999
            code = new Random().nextInt(9999) + "";

            // 如果生成的随机数不足4位，则前面补0
            if (Integer.parseInt(code) < 1000)
                code = "0" + code;
        }
        else if(length == 6)
        {
            // 生成随机数，最大为999999
            code = new Random().nextInt(999999) + "";

            // 如果生成的随机数不足6位，则前面补0
            if (Integer.parseInt(code) < 100000)
                code = "0" + code;
        }
        else
            throw new RuntimeException("只能生成4位或6位数字验证码");

        return code;
    }

    /**
     * 随机生成指定长度字符串验证码
     */
    public static String generateValidateCode4String(int length)
    {
        Random random = new Random();
        String hexString = Integer.toHexString(random.nextInt());
        return hexString.substring(0, length);
    }
}